package com.micro.controller;

import java.util.HashMap;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.micro.balance.LoadBalanceContext;


/**
 * map存储的是参与负载的数据以及它们对应的权重值
 * 以下是手工模拟数据，真实开发环境应该是动态获取，主要如下：
 * 1）从Zookeeper获取
 * 2）从本地缓存获取
 * 3）从数据库获取
 * @author Administrator
 *
 */
@RestController
@RequestMapping("/loadbalance")
public class LoadBalanceController {
	//key=被选择的内容
	//value=权重
	private Map<String,Integer> map=new HashMap<String,Integer>();
	@PostConstruct
	public void init(){
		map.put("aa",1);
		map.put("bb",1);
		map.put("cc",1);
	}
	
	@Autowired
	private LoadBalanceContext loadBalanceContext;
	
	//随机算法
	@RequestMapping("/select")
	public String select(){
		return loadBalanceContext.select(map);
	}
	
}
